home *** CD-ROM | disk | FTP | other *** search
- This file contains a collection of notes that various people have
- provided about porting Tcl to various machines and operating systems.
- I don't have personal access to any of these machines, so I make
- no guarantees that the notes are correct, complete, or up-to-date.
- If you see the word "I" in any explanations, it refers to the person
- who contributed the information, not to me; this means that I
- probably can't answer any questions about any of this stuff. In
- some cases, a person has volunteered to act as a contact point for
- questions about porting Tcl to a particular machine; in these
- cases the person's name and e-mail address are listed. I'm
- interested in getting new porting information to add to the file;
- please mail updates to "john.ousterhout@eng.sun.com".
-
- This file reflects information provided for Tcl 7.4 and later releases.
- If there is no information for your configuration in this file, check
- the file "porting.old" too; it contains information that was
- submitted for Tcl 7.3 and earlier releases, and some of that information
- may still be valid.
-
- A new porting database has recently become available on the Web at
- the following URL:
- http://www.sunlabs.com/cgi-bin/tcl/info.4.0
- This page provides information about the platforms on which Tcl 7.4
- and Tk 4.0 have been compiled and what changes were needed to get Tcl
- and Tk to compile. You can also add new entries to that database
- when you install Tcl and Tk on a new platform. The Web database is
- likely to be more up-to-date than this file.
-
- sccsid = @(#) porting.notes 1.9 95/06/30 11:18:28
-
- --------------------------------------------
- Solaris, various versions
- --------------------------------------------
-
- 1. If typing "make test" results in an error message saying that
- there are no "*.test" files, or you get lots of globbing errors,
- it's probably because your system doesn't have cc installed and
- you used gcc. In order for this to work, you have to set your
- CC environment variable to gcc and your CPP environment variable
- to "gcc -E" before running the configure script.
-
- 2. Make sure that /usr/ucb is not in your PATH or LD_LIBRARY_PATH
- environment variables; this will cause confusion between the new
- Solaris libraries and older UCB versions (Tcl will expect one version
- and get another).
-
- 3. There have been several reports of problems with the "glob" command.
- So far these reports have all been for older versions of Tcl, but
- if you run into problems, edit the Makefile after "configure" is
- run and add "-DNO_DIRENT_H=1" to the definitions of DEFS. Do this
- before compiling.
-
- --------------------------------------------
- Pyramid DC/OSx SVr4, DC/OSx version 94c079
- --------------------------------------------
-
- Tcl seems to dump core in cmdinfo.test when compiled with the
- optimiser turned on in TclEval which calls 'free'. To get around
- this, turn the optimiser off.
-
- --------------------------------------------
- SGI machines, IRIX 5.2, 5.3, IRIX64 6.0.1
- --------------------------------------------
-
- 1. If you compile with gcc-2.6.3 under some versions of IRIX (e.g.
- 4.0.5), DBL_MAX is defined too large for gcc and Tcl complains
- about all floating-point values being too large to represent.
- If this happens, redefining DBL_MAX to 9.99e299.
-
- --------------------------------------------
- IBM RTs, AOS
- --------------------------------------------
-
- 1. Steal fmod from 4.4BSD
- 2. Add a #define to tclExpr such that:
- extern double fmod();
- is defined conditionally on ibm032
-
- --------------------------------------------
- FreeBSD
- --------------------------------------------
-
- FreeBSD's math library does not properly handle floating-point exceptions,
- which can cause core dumps. The following patch eliminates the problem:
-
- *** tclBasic.c:1.1.1.1 Tue Sep 27 15:49:29 1994
- --- tclBasic.c Tue Sep 27 15:49:29 1994
- ***************
- *** 35,40 ****
- --- 35,42 ----
- # include "tclUnix.h"
- #endif
-
- + #include <floatingpoint.h>
- +
- /*
- * The following structure defines all of the commands in the Tcl core,
- * and the C procedures that execute them.
- ***************
- *** 276,281 ****
- --- 278,285 ----
- error $msg\n\
- }";
-
- + fpsetround(FP_RN);
- + fpsetmask(0L);
- return Tcl_Eval(interp, initCmd);
- }
-
- --------------------------------------------
- QNX 4.22
- --------------------------------------------
-
- tclPort.h
- - commented out 2 lines containing #include <sys/param.h>
-
- tcl.h
- - changed #define VARARGS ()
- - to #ifndef __QNX__
- #define VARARGS ()
- #else
- #define VARARGS (void *, ...)
- #endif
-